class perceptron
{
	public:
		perceptron(int eN, int fN, float ETA);
		~perceptron();
		void read_training_set(char *filename);
		void training();	// train weighted vector and bias
		void print_model();	// print model, say weighted vector and bias
		void test(char* test_set_filename, char* test_result_filename);
		
	private:
		int example_num;	// number of training examples in data set
		int feature_num;	// number of features in a single train example
		float *w;	// point to weight vector
		float b;	// bias
		float eta;	// learning rate 0 <= eta <= 1
		
		float **x;	// feature matrix
		int *y; 	// output vector
};
